home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
090
/
pctj8309.arc
/
BOXES2.BAS
< prev
next >
Wrap
BASIC Source File
|
1984-01-23
|
2KB
|
69 lines
100 'File: BOXES2.BAS
110 'Auth: T. Hoffmann -- 13 June 1983
120 '
130 ' Illustrates COLORPLUS extended medium resolution
140 ' graphics mode (300 by 200 by 4, 16 colors)
150 '
160 '
170 '--- Definitions
180 '
185 DEFINT A-Z
190 COLORREG = &H3D9 '-- Color Select Register
200 EMODEREG = &H3DD '-- Extended Mode Register
210 MRES = &H10 '-- Medium Res
220 HRES = &H20 '-- High Res
230 PLANE1=&H40 '-- Plane select
235 P0=MRES: P1=MRES+PLANE1
240 '
250 '-- Select Color Adapter
260 ' and Extended Medium Resolution
270 '
275 MONO = 1 '-- Set to 0 if no monochrome adapter
280 GOSUB 9000
290 SCREEN 0: SCREEN 1
295 KEY OFF
300 OUT EMODEREG, P0: CLS: OUT EMODEREG, P1: CLS
310 OUT COLORREG, 0
320 '
330 '-- Repeat Until F10 Key
340 '
350 KEY (10) ON: ON KEY (10) GOSUB 9900
360 WHILE 1
370 '-- Generate Position, Size, and Color
380 X=RND*300: Y=RND*200
390 R=60*RND+10
400 C=(C+1) MOD 16
410 '
420 '-- Separate Colors for Each Plane
430 C0 = (C AND 6) / 2
440 C1 = (C AND 8) / 8 + (C AND 1) * 2
450 '
460 '-- Draw and Paint in Each Plane
470 OUT EMODEREG, P0
480 GOSUB 600: PAINT (X+3,Y+3),C0,3
490 OUT EMODEREG, P1
500 GOSUB 600: PAINT (X+3,Y+3),C1,3
510 '
520 WEND
600 '-- Draw Box with color 3, inside color 0
610 LINE (X,Y)-STEP (R,R),3,BF
620 LINE (X+1,Y+1)-STEP (R-2,R-2),0,BF
630 RETURN
9000 '----------
9010 ' Switch to Color/Graphics Display
9020 DEF SEG=0: A=PEEK(&H410): POKE &H410,(A AND &HCF) OR &H20
9030 WIDTH 40: SCREEN 1: SCREEN 0: LOCATE ,,1,6,7
9040 RETURN
9050 '----------
9060 ' Conditionally Switch to Monochrome Display
9070 IF MONO <> 1 THEN LOCATE 1,1: RETURN
9080 DEF SEG=0: A=PEEK(&H410): POKE &H410,(A OR &H30)
9090 WIDTH 80: LOCATE ,,1,12,13: SCREEN 0,0,0
9100 KEY ON
9110 RETURN
9900 '----------
9910 ' F10 Gets Here to Exit
9920 '
9930 GOSUB 9050 '-- return to monochrome
9940 END '-- and quit